.\"	$OpenBSD: cy.4,v 1.16 2013/07/16 16:05:48 schwarze Exp $
.\"
.\" Copyright (c) 1993 Andrew Herbert.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. The name Andrew Herbert may not be used to endorse or promote products
.\"    derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd $Mdocdate: July 16 2013 $
.Dt CY 4
.Os
.Sh NAME
.Nm cy
.Nd Cyclades Cyclom-{4, 8, 16}Y asynchronous comms board device driver
.Sh SYNOPSIS
.Cd "cy0 at isa? iomem 0xd4000 irq 12"
.Cd "cy* at pci?"
.Sh DESCRIPTION
This driver provides an interface to Cyclades Cyclom-4Y, Cyclom-8Y and
Cyclom-16Y asynchronous multiport serial boards.
These boards are based around Cirrus Logic CD1400 communication controllers.
.Pp
The device minor numbers for this driver are encoded as follows:
.Bd -literal
    d c c u u u u u	- bits in the minor device number

    bits    meaning
    ----    -------
    uuuuu   physical serial line (i.e., unit) to use
		0-7 on a cyclom-8Y, 0-15 on a cyclom-16Y

    cc      card number

    d       dial-out flag
.Ed
.Sh DIAGNOSTICS
.Bl -diag
.It "cy0: tty input queue overflow"
Incoming characters have been discarded due to a buffer overflow.
This is caused by the process in control of the device not
.Xr read 2 Ns 'ing
characters fast enough.
.It "cy0: receive fifo overrun"
Incoming characters have been discarded due to a CD1400 channel overrun.
This is caused by interrupts not being serviced sufficiently quickly to prevent
the 12 byte receive FIFO on a serial channel from overflowing.
Reducing the value of the \fIRxFifoThreshold\fR #define from 8 to something
smaller may help slow machines avoid this problem.
The driver must have been compiled with the \fILogOverruns\fR option
defined (the default) in order for this condition to be logged.
.El
.Sh SEE ALSO
.Xr com 4 ,
.Xr intro 4 ,
.Xr isa 4 ,
.Xr pci 4 ,
.Xr termios 4 ,
.Xr tty 4
.Sh HISTORY
Some ideas for the architecture of this driver's two-layer processing model
were derived from the fas 2.10 driver by
.An Uwe Doering Aq Mt gemini@geminix.in-berlin.de
and the high-performance com driver by
.An Bruce Evans Aq Mt bde@kralizec.zeta.org.au .
.Pp
This work was made possible through the donation of a Cyclom-8Y board by the
manufacturer, Cyclades Corporation.
However, neither Cyclades nor the author make any warranties regarding
this software, nor guarantees of support.
.Sh AUTHORS
The driver was written by
.An Andrew Herbert Aq Mt andrew@werple.apana.org.au .
.Sh BUGS
There is currently no BREAK handling - breaks are ignored.
There is no support for bad-character reporting, except via PARMRK.
The Cyclom-[48]Y boards do not listen to the RTS signal for receiver flow
control.
FIFO overruns are only logged when the termios IGNPAR setting is enabled.
